// 对axios提前做通用配置、封装
// 可以让我们在后续项目开发过程中，更加高效的发请求
// 减少后期维护成本
import axios from "axios";
import { Message } from "element-ui";

const instance = axios.create({
  baseURL: "https://rhdq102k.lc-cn-n1-shared.com/1.1/",
  headers: {
    "X-LC-Id": "rhDq102KCK9hy1d9HOxUPIzn-gzGzoHsz",
    "X-LC-Key": "E6dY93Fxcd7Ti35jCTozQi0F",
    "Content-Type": "application/json",
  },
});

// 添加请求拦截器
instance.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    console.log("请求拦截器");
    return config; //千万别丢
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 添加响应拦截器
instance.interceptors.response.use(
  function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    let { status } = response;
    let stat = (status + "").substring(0, 1);
    console.log("响应拦截器", response, stat);
    if (stat == "2") {
      Message.success("操作成功");
    }

    return response; //在拦截器中处理后，将数据给到组价的then
  },
  function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    Message.error("操作失败");
    // return Promise.reject(error);
  }
);

export default instance;
